www.gusucode.com > VC++ 酒店管理系统-源码程序 > VC++ 酒店管理系统-源码程序/code/hotel2003/RoomInfoLookup.cpp

    //Download by http://www.NewXing.com
// RoomInfoLookup.cpp : implementation file
//

#include "stdafx.h"
#include "qq.h"
#include "RoomInfoLookup.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CRoomInfoLookup dialog
CString CRoomInfoLookup::STRINGS[100]={""};

CRoomInfoLookup::CRoomInfoLookup(CWnd* pParent /*=NULL*/)
	: CDialog(CRoomInfoLookup::IDD, pParent)
{
	//{{AFX_DATA_INIT(CRoomInfoLookup)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
	RoomCode = _T("");
	RoomType = _T("");
	Floor = 0;
	Phone = _T("");
	RoomStatus = _T("");
	PriceType = FALSE;
	Price = 0.0f;
	bSuccess=false;
}


void CRoomInfoLookup::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CRoomInfoLookup)
	DDX_Control(pDX, IDC_COMBO1, m_InfoLookup_RoomCode);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CRoomInfoLookup, CDialog)
	//{{AFX_MSG_MAP(CRoomInfoLookup)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CRoomInfoLookup message handlers

BOOL CRoomInfoLookup::OnInitDialog() 
{
	CDialog::OnInitDialog();
	HICON m_hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME2);
	this->SetIcon(m_hIcon,true);//设置对话框图标
	
	// TODO: Add extra initialization here
	m_acCombo.Init(GetDlgItem(IDC_COMBO1));
	if(!m_RoomInfoSet.Open(AFX_DB_USE_DEFAULT_TYPE))
	{
		MessageBox("打开数据库失败!","数据库错误",MB_OK);
		return false;
	}
    InitDate();
	m_RoomInfoSet.MoveFirst();//move to the first record
	int i=0;
    while(!m_RoomInfoSet.IsEOF())
	{
        STRINGS[i]=m_RoomInfoSet.m_RoomCode;
         m_RoomInfoSet.MoveNext();
		 i++;
	}
    m_RoomInfoSet.Close();//关闭数据库
    for (int j=0;(!STRINGS[j].IsEmpty()); j++)
	{
		m_acCombo.GetStringList().Add(STRINGS[j].GetBuffer(STRINGS[j].GetLength()));
	}
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CRoomInfoLookup::OnOK() 
{
	// TODO: Add extra validation here
	CString str;
	m_InfoLookup_RoomCode.GetWindowText(str);
    if(str=="")
	{
		MessageBox("请输入房间号码!","数据为空错误",MB_OK);
		return ;
	}
	if(!m_RoomInfoSet.Open(AFX_DB_USE_DEFAULT_TYPE))
	{
		MessageBox("打开数据库失败!","数据库错误",MB_OK);
		bSuccess=false;
		return ;
	}
	bool bInSQL=false;//是否存在这个数据记录
	m_RoomInfoSet.MoveFirst();
	while(!m_RoomInfoSet.IsEOF())
	{
         if(m_RoomInfoSet.m_RoomCode==str)
		 {
			 bInSQL=true;
			 break;
		 }
		 else bInSQL=false;
         m_RoomInfoSet.MoveNext();
	}
	///////////////////////////////////////////////////////////
//	查询成功的话保存得到的数据
if(bInSQL)
{
    RoomCode=m_RoomInfoSet.m_RoomCode;
	RoomType=m_RoomInfoSet.m_RoomType;
	Floor=m_RoomInfoSet.m_Floor;
	Phone=m_RoomInfoSet.m_Phone;
	RoomStatus=m_RoomInfoSet.m_RoomStatus;
	PriceType=m_RoomInfoSet.m_PriceType;
	Price=m_RoomInfoSet.m_Price;
	bSuccess=true;
}
 else
 {
	 MessageBox("该记录不存在!","记录错误",MB_OK);
	 bSuccess=false;
	////保存数据完成关闭数据库
     m_RoomInfoSet.Close();
	 return ;
 }
	////保存数据完成关闭数据库
    m_RoomInfoSet.Close();
	CDialog::OnOK();
}

void CRoomInfoLookup::OnCancel() 
{
	// TODO: Add extra cleanup here
	CDialog::OnCancel();
}

void CRoomInfoLookup::InitDate()
{
   for(int i=0;i<100;i++)
   {
	   STRINGS[i]="";
   }
}